Generally described, computing devices utilize a communication network, or a series of communication networks, to exchange data. Companies and organizations operate computer networks that interconnect a number of computing devices to support operations or provide services to third parties. The computing systems can be located in a single geographic location or located in multiple, distinct geographic locations (e.g., interconnected via private or public communication networks). Specifically, data centers or data processing centers, herein generally referred to as a “data center,” may include a number of interconnected computing systems to provide computing resources to users of the data center. The data centers may be private data centers operated on behalf of an organization or public data centers operated on behalf, or for the benefit of, the general public.
To facilitate increased utilization of data center resources, individual computing devices within a data center may be configured to provide specific functionality according to the requirements of the data center. For example, various computing devices may be associated with different operating systems or operating system configurations to enable a computing device to provide different desired functionalities, or to provide similar functionalities more efficiently. Moreover, virtualization technologies may allow a single physical computing device to host one or more instances of a virtual machine (e.g., a virtual computing device), which virtual computing device instance appears to a user of a data center as an independent computing device. With virtualization, the host computing device can create, maintain, delete, or otherwise manage virtual computing device instances in a dynamic manner. In turn, users can request computing resources from the data center, including single computing devices or a configuration of networked computing devices, and be provided with virtual computing device instances that provide the requested computing resources.
An individual computing device or instance of a virtual computing device may be configured to provide specific functionality. For example, a computing device (e.g., physical or virtual) may be associated with different combinations of software applications and operating systems or operating system configurations to enable the computing device to provide different desired functionalities, or to provide similar functionalities more efficiently. Software and software configurations (e.g., operating systems, applications, drivers, modules, etc., and configurations thereof) are often contained within updates or update packages which a computing device may execute in order to implement a desired specific functionality corresponding to the contents of the update.
Due to various configurations of computing devices (e.g., physical or virtual), updates may cause differing effects across computing devices. For example, in some instances, updates may be associated with unintended consequences such as increased processing power utilization, decreased response time or failures. These unintended consequences may result from errors within the update, errors within the computing device, incompatibilities between the update and computing device, etc. In other instances, updates may fail to be implemented by a computing device, or may result in errors. The failure of updates to be implemented, or the causing of negative consequences by implementation of an update, may negatively impact the ability of the computing device to provide desired services.